The present invention disclosed herein relates to a packet forwarding structure and method for supporting content caching of aggregate contents in a network device.
Various studies on searching for new alternatives to an IP based internet structure have been in progress in one big frame called the future internet. As its representative example, suggested is a Content-Centric Network (CCN) technique that a data transfer structure based on an internet protocol address is transmitted by using the name of a content and each network node caches the content.
FIG. 1 is a view illustrating a typical CCN. Referring to FIG. 1, the CCN includes a content store (CS), a Pending Interest List (PIT), and a Forwarding Information Base (FIB), as a forwarding engine.
The content delivery in the CCN structure of FIG. 1 includes an interest packet and a data packet for delivering a content in response to the interest packet.
FIG. 2 is a view illustrating a request packet for content in the CCN structure of FIG. 1. FIG. 3 is a view illustrating a data packet in the CCN structure of FIG. 1.
The CS may store data content like a buffer memory of a router and may replace the data content for efficient distribution through a Least Recently Used (LRU) or Least Frequently Used (LFU) method.
The FIB is used for forwarding a request packet from a terminal (i.e., a content consumer) by using forwarding information on contents registered in the core of the CCN.
The PIT is used as path information. Once a request packet arrives at the CS, it is transmitted according to the FIB. Then, the request packet manages information on a requested input and an output face in order to arrive at a final destination node. The requested content is delivered from the final destination node to a content requesting node that provides the request packet by using the PIT as path information.
The PIT needs to retransmit the request packet if the requested content does not arrive within a predetermined time, and deletes the list of the corresponding request packet if the requested content does not arrive for a predetermined time after the retransmission.
Once a request packet and a data packet arrive at a node, the longest match lookup is performed in order of the CS, the PIT, and the FIB. After the request packet arrives, if there is a content that matches the name of the content of the inputted request packet in the CS, the matching content is transmitted according to a face that the request packet inputs, and then, the request packet is deleted. If there is no matching content in the CS, the PIT is searched.
After the name of the request packet is searched from the PIT, if it is a new content request, the input face of the request packet is added to the PIT list. Additionally, the request packet is forwarded after the FIB is searched using the name of the request packet, and corresponding output profile information is added to the PIT. If the name of the request packet is not searched from the FIB, the request packet is deleted.
Once a data packet arrives at a node, the PIT is searched first in order to transmit data on a corresponding content to a face (at least one face), where the request packet arrives, and the CS simultaneously. That is, the content is stored in the CS. If there is no matching content in the PIT, it means that the data have never been requested, and thus, the data are deleted. In this case, depending on an option, the data may be transmitted to the CS to be stored therein or just may be deleted.
Since such a CCN structure is designed to transmit each content of a small unit during content delivery, a request and a response for each content may cause inefficiency.
A packet forwarding structure based on a typical CCN includes a request and a response to each content, thereby causing inefficiency in content delivery. For example, let's assume that a user wants a video file “/etri.re.kr/nsko/doc/”. Additionally, let's assume that the video file has two versions v0 and v1 after modification, each having five segments s0 to s4. In the typical CCN, in order to request and receive the version v0 of “/etri.re.kr/nsko/media/aaa/mov” with a version and segment numbers assigned, a content request for each of the segments (from the first segment to the final segment “/etri.re.kr/nsko/media/aaa/mov/v0/s0” to “/etri.re.kr/nsko/media/aaa/mov/v0/s4”) needs to be made with the segment number increased. The present invention provides more efficient content delivery by processing a content request of entire segments or a range unit of a segment.